/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.kleintjes.behavioral.templatemethod_pattern;

/**
 *
 * @author Hughan.Kleintjes.hughanK@gmail.com
 */
public abstract class Meal {
    
    public final void doMeal() {
        prepareIngredients();
        cook();
        eat();
        cleanUp();
    }
    
    public abstract void prepareIngredients();
    public abstract void cook();
    public void eat() {
        System.out.println("Mmm, that's good");
    }
    public abstract void cleanUp();
    
}
